package com.lz.demo3;

import java.util.Random;

/**
 * @ClassName Soldier
 * @Description 士兵类
 * @Author 2214361854
 * @Date 2022/5/28 14:27
 * @Version 1.0
 */
public class Soldier {
    //成员变量，属性变量
    int id; //默认值0
    int blood = 100;
    AK47 a;//默认 null 值

    //成员方法
    public void go() {
        //this是一个特殊引用
        //引用“当前对象”的地址
        //当前对象：谁调用就是谁
        //可以省略，缺省存在
        System.out.println(this.id + "号士兵前进");
    }

    public void attack() {
        if (blood == 0) {
            System.out.println("这是" + id + "号士兵的尸体");
            return;//方法结束
        }
        System.out.println(id + "号士兵进攻");
        if (a != null) {
            a.fire();//调用枪发射子弹
        }
        //模拟进攻掉血
        //随机的减血量
        int d = new Random().nextInt(10);
        blood -= d;
        if (blood < 0) {//不允许负数血量
            blood = 0;
        }
        System.out.println("血量：" + blood);
        //血量是0
        if (blood == 0) {
            System.out.println(id + "号士兵阵败");
            return;
        }
    }
}
